home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 42
/
64er_Magazin_Sonderheft_42_19xx_Markt__Technik_de_Side_B.d64
/
belagerung ii
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
346 lines
0 ifpeek(887)=111then10
1 ifx=0thenx=1:load"song",8,1
2 poke887,111
3 :
4 rem - by : frank abbing -
5 rem - margarethenstr.13 -
6 rem - 4422 ahaus -
7 rem - -
8 rem - for: 64-er sonderh. -
9 :
10 print"welcome you !":gosub6000:gosub6050:poke53265,0
17 poke53280,5:poke53281,0:print"[147][158]"
20 fora=828to828+45:readb:pokea,b:next
22 fort=50000to50006:readq:poket,q:next
25 sys828:vc=53248:ci=56576:pokevc+24,56
27 pokeci,peek(ci)and252:poke648,204:print"[151][147]"
35 data234,165,1,120,41,251,133,1,160,0,132,251,132,253,169,208,133,252,169,224
40 data133,254,162,16,177,251,145,253,200,208,249,230,252,230,254,202,208,242
45 data165,1,9,4,133,1,88,96,238,39,208,238,40,208,96
50 ms(1)=10:ms(2)=8:d1=1:d2=6
55 ad=57344:readx:ifx=99then200
60 cg=ad+x*8:fori=0to7:readq:pokecg+i,q:next:goto55
65 data65,255,255,207,199,167,3,33,224
70 data83,255,207,143,223,143,79,15,99
75 data90,224,224,226,243,209,201,201,145
77 data88,65,65,32,226,210,201,201,145
80 data239,255,255,255,255,255,255,255,0
82 data244,127,127,127,127,127,127,127,127
85 data204,127,127,127,127,127,127,127,0
86 data0,255,255,255,255,255,255,255,255
87 data207,0,127,127,127,127,127,127,127
90 data128,255,255,255,231,255,255,255,255
92 data112,254,252,252,252,243,192,132,136
95 data110,127,159,158,126,205,13,45,19
97 data109,198,241,254,240,225,227,255,195
100 data125,19,227,27,79,135,199,251,225
102 data85,255,254,253,204,134,149,164,132
105 data73,223,111,183,59,99,135,31,31
107 data74,200,255,248,241,243,227,255,199
110 data75,63,255,63,31,159,159,255,143
112 data79,238,141,13,14,40,194,238,239
115 data80,63,159,159,127,15,39,19,251
117 data76,238,236,236,232,233,233,255,225
120 data122,15,63,223,159,143,223,231,143
122 data158,255,247,243,1,243,247,255,255
125 data159,255,239,207,128,207,239,255,255
127 data35,159,64,218,255,104,0,199,255
130 data37,1,103,96,3,0,3,129,0
132 data38,255,240,192,135,86,90,223,255
135 data39,225,4,9,240,1,140,18,18
137 data27,254,254,252,252,254,250,255,0
140 data29,38,101,102,83,33,35,255,0
142 data66,126,126,126,126,126,126,126,126
145 data67,0,255,255,255,255,255,255,0
147 data108,0,7,31,63,63,127,127,126
150 data123,0,224,248,252,252,254,254,254
152 data124,126,127,127,63,63,31,7,0
155 data126,254,254,254,252,252,248,224,0
199 data99
200 p1$="[193][211][157][157][218][216]":b1$="[213][201][157][157][202][203]"
202 dr$="#%[157][157]&'[157][157][]"
203 rd$=" [157][157] [157][157][164][164]"
205 p2$="[176][174][157][157][173][189]":b2$="[207][208][157][157][204][186]"
206 kf$=" [157][157] [146]":pf$=" [157][157]^_[146]"
207 um$="[176][195][195][174][157][157][157][157][194][194][157][157][157][157][194][194][157][157][157][157][194][194][157][157][157][157][194][194][157][157][157][157][173][195][195][189]"
208 le$=" [157][157][157][157] [157][157][157][157] [157][157][157][157] [157][157][157][157] [157][157][157][157] "
210 fort=0to62:poke49152+t,0:next
212 :poke49152,127:poke49153,255
215 fort=3to29step3:poke49152+t,64:poke49153+t,1:next
217 poke49182,127:poke49183,255
220 v=53248:pokev,119:pokev+1,122:pokev+21,0:pokev+23,3:pokev+29,3:pokev+39,2
222 poke53240,0:poke53241,0:pokev+2,0:pokev+3,0:goto3000
225 :
230 a=4:b=4:x=13:y=9:xx=119:yy=122
299 print"[147][154]";
300 print"[180] [154][180] [180] [180] [180] [180] [180] [180] "
305 print"[180]^_ [154][180] [180] [180] [180] [180] [180] [180]^_ "
310 print"[204][175][175][175][154][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][154]"
315 print"[180] [180] [180] [180] [180] [180] [180] [180] "
320 print"[180] [180] [180] [180] [180] [180] [180] [180] "
325 print"[204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175]"
330 print"[180] [180] [158][180] [180] [180] [180] [154][180] [180] "
335 print"[180] [180] [158][180] [180] [180] [180] [154][180] [180] "
340 print"[204][175][175][175][204][175][175][175][158][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][154][204][175][175][175][204][175][175][175]"
345 fort=1to2:print"[180] [158][180] [180] [180] [180] [180] [180] [154][180] "
350 print"[180] [158][180] [180] [180] [180] [180] [180] [154][180] "
355 print"[204][175][175][175][158][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][154][204][175][175][175]":next
375 print"[180] [180] [158][180] [180] [180] [180] [154][180] [180] "
380 print"[180] [180] [158][180] [180] [180] [180] [154][180] [180] "
385 print"[204][175][175][175][204][175][175][175][158][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][154][204][175][175][175][204][175][175][175]"
386 print"[180] [180] [180] [180] [180] [180] [180] [180] "
387 print"[180] [180] [180] [180] [180] [180] [180] [180] "
388 print"[204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175]"
390 print"[180] [154][180] [180] [180] [180] [180] [180] [180] "
395 print"[180]^_ [154][180] [180] [180] [180] [180] [180] [180]^_ "
400 print"[204][175][175][175][154][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][154]"
405 fort=1to5:poke214,0:sys58640:printtab(5+t*4)p1$:poke214,21:sys58640
410 printtab(5+t*4)p2$"":nextt:print"[158]"
412 fort=1to4:poke214,9:sys58640:printtab(5+t*4)b1$:poke214,12:sys58640
414 printtab(5+t*4)b1$"":nextt
415 poke214,12:sys58640:printtab(21)b2$
420 fort=0to39:poke53184+t,160:next
425 poke214,24:sys58640:print"belagerung ii - by frank abbing "
430 fori=0to23:fort=32to39:poke52224+t+40*i,160:nextt,i
432 poke214,1:sys58640
433 printtab(35)"[193][211]"
434 printtab(35)"[218][216]"
436 printtab(35)"10"
440 printtab(33)""n$(1)
442 poke214,19:sys58640
443 printtab(35)"08"
445 printtab(35)"[213][201]"
446 printtab(35)"[202][203]":poke53265,27:gosub7010
447 poke214,16:sys58640:printtab(33)""n$(2)
448 rem - spieler/reiter (joy) -
449 zu=1:pokev+21,1
450 poke214,0:sys58640:printtab(34)um$
451 poke214,18:sys58640:printtab(34)le$:gosub2000:gosub1200:gosub2000:gosub6040
452 j=peek(56320)
455 ifxx<247and(jand8)=0thena=a+1:x=x+4:xx=xx+32
460 ifxx>23and(jand4)=0thena=a-1:x=x-4:xx=xx-32
465 ifyy<218and(jand2)=0thenb=b+1:y=y+3:yy=yy+24
470 ifyy>50and(jand1)=0thenb=b-1:y=y-3:yy=yy-24
475 pokev+0,xx:pokev+1,yy
480 ifzu=1and(jand16)=0then510
485 ifzu=2and(jand16)=0then526
490 ifzu=2andpeek(203)=4thenpokev+21,1:zu=1
500 sys50000:goto452
510 n=52224+x+40*y:fx=x:fy=y:no=n
515 ifpeek(n)=65orpeek(n)=112then520
517 goto500
520 zu=2:pokev+2,xx:pokev+3,yy:pokev+40,peek(v+39):pokev+21,3:x1=a:y1=b
522 fa=peek(55296+x+40*y)
523 iffa>=16thenfa=fa-16:goto523
525 goto500
526 kl=52224+x+40*y:ifpeek(kl)=65orpeek(kl)=112orpeek(kl)=35then500
530 af=peek(55296+x+40*y)
531 ifaf>=16thenaf=af-16:goto531
532 iffa=7and(af=14oraf=1)then500
535 x2=abs(x1-a):y2=abs(y1-b)
537 n=no:m=peek(n):n=m:ifn=112then550
538 ifn=65then540
539 goto500
540 if(x2=1andy2=2)or(x2=2andy2=1)then600
545 goto500
550 if(x2=1andy2=1)or(x2=1andy2=0)or(x2=0andy2=1)then610
555 goto500
600 gosub705:poke646,af:poke211,x:poke214,y:sys58640:printp1$
602 ifaf=1thenpoke646,1:poke211,x:poke214,y:sys58640:printp2$
605 goto650
610 gosub705:poke646,af:poke211,x:poke214,y:sys58640:printp2$
612 ifaf=1thenpoke646,1:poke211,x:poke214,y:sys58640:printp1$
615 goto650
650 :
652 iffa<>1thenpoke646,fa:poke211,fx:poke214,fy:sys58640:printkf$:goto670
655 iffa=1thenpoke646,1:poke211,fx:poke214,fy:sys58640:printpf$:goto670
670 :
675 :
700 goto800
705 kl=52224+x+40*y:lk=peek(kl)
706 iflk<>85andlk<>79thenreturn
707 gosub6100
708 ms(2)=ms(2)-1
709 m$=str$(ms(2)):m$=right$(m$,1):mm$="0"+m$
710 poke214,19:sys58640:printtab(35)""mm$
717 :
720 return
790 rem --- burg zieht ---
800 poke214,0:sys58640:printtab(34)le$
802 poke214,18:sys58640:printtab(34)um$
803 zu=1:pokev+21,1
804 gosub2000:gosub1200:gosub2000:gosub6040
805 j=peek(56321)
807 ifxx<247and(jand8)=0thena=a+1:x=x+4:xx=xx+32
810 ifxx>23and(jand4)=0thena=a-1:x=x-4:xx=xx-32
812 ifyy<218and(jand2)=0thenb=b+1:y=y+3:yy=yy+24
815 ifyy>50and(jand1)=0thenb=b-1:y=y-3:yy=yy-24
820 pokev+0,xx:pokev+1,yy
825 ifzu=1and(jand16)=0then850
830 ifzu=2and(jand16)=0then900
835 ifzu=2andpeek(203)=4thenpokev+21,1:zu=1
840 sys50000:goto805
850 n=52224+x+40*y:fx=x:fy=y:no=n
855 ifpeek(n)=85orpeek(n)=79then860
857 goto840
860 zu=2:pokev+2,xx:pokev+3,yy:pokev+40,peek(v+39):pokev+21,3:x1=a:y1=b
865 fa=peek(55296+x+40*y)
870 iffa>=16thenfa=fa-16:goto870
875 goto840
900 kl=52224+x+40*y:ifpeek(kl)=85orpeek(kl)=79orpeek(kl)=35then840
905 af=peek(55296+x+40*y)
910 ifaf>=16thenaf=af-16:goto910
912 ifaf=1then840
915 x2=abs(x1-a):y2=abs(y1-b)
920 n=no:m=peek(n):n=m:ifn=79then940
922 rem - ritter -
930 if(x2=1andy2=1)or(x2=1andy2=0)or(x2=0andy2=1)then1000
932 goto840
940 if(x2=1andy2=1)or(x2=1andy2=0)or(x2=0andy2=1)then1010
941 if(x2=2andy2=2)or(x2=2andy2=0)or(x2=0andy2=2)then1010
942 if(x2=3andy2=3)or(x2=3andy2=0)or(x2=0andy2=3)then1010
950 goto840
990 kl=52224+x+40*y:lk=peek(kl)
994 iflk<>112andlk<>65thenreturn
995 gosub6050
996 ms(1)=ms(1)-1
997 m$=str$(ms(1)):m$=right$(m$,1):mm$="0"+m$
998 poke214,4:sys58640:printtab(35)""mm$:
999 return
1000 gosub990:poke646,af:poke211,x:poke214,y:sys58640:printb1$:goto1100
1010 gosub990:poke646,af:poke211,x:poke214,y:sys58640:printb2$:goto1100
1100 poke646,fa:poke211,fx:poke214,fy:sys58640:printkf$
1110 goto449
1200 rem - computer zieht -
1201 dx=0:dy=0:goto1500
1202 i=int(rnd(1)*4)+1:dx=0:dy=0
1205 ifi=1thendy=-3
1210 ifi=2thendx=4
1212 ifi=3thendy=3
1215 ifi=4thendx=-4
1217 t1=d1+dx:t2=d2+dy
1220 if(t1<1)or(t1>29)then1202
1225 if(t2<0)or(t2>21)then1202
1250 n=52224+(d1+dx)+40*(d2+dy)
1255 ifpeek(n)=65orpeek(n)=112thenjk=1:gosub996
1260 ifpeek(n)=79thenlk=79:jk=1:gosub708
1262 ifpeek(n)=85thenjk=1:gosub708
1270 fa=peek(55296+d1+40*d2)
1272 iffa>=16thenfa=fa-16:goto1272
1275 d1=d1+dx:d2=d2+dy
1280 af=peek(55296+d1+40*d2)
1282 ifaf>=16thenaf=af-16:goto1282
1285 iffa=1thenrd$=" [157][157]^_[157][157][164][164]"
1290 poke646,af:poke211,d1:poke214,d2:sys58640:printdr$
1295 poke646,fa:poke211,d1-dx:poke214,d2-dy:sys58640:printrd$
1298 ifjk=1thengosub6020
1299 rd$=" [157][157] [157][157][164][164]"
1300 jk=0:return
1500 ifpeek(52224+d1+40*(d2-3))<>160thendy=-3:goto1217
1501 ifpeek(52224+(d1+4)+40*d2)<>160thendx=4:goto1217
1502 ifpeek(52224+d1+40*(d2+3))<>160thendy=3:goto1217
1503 ifpeek(52224+(d1-4)+40*d2)<>160thendx=-4:goto1217
1505 goto1202
2000 iflk=79thengw=3:goto5000
2001 ifms(2)=0thengw=1:goto5000
2002 ifms(1)=0thengw=2:goto5000
2005 return
3000 print"[147]";:sys35000:poke54275,8:poke848,65:poke54277,123
3001 printtab(6)"- 64-er sonderh. presents -
3002 [153]"poke *lenlenrndlenlenlenpeek *lenrnd*lenrndlenlenlenpeeklenrndpeek peekpeek peek*lenrnd lenlenlenlenlen
3003 print"[152] [172][195][195][187][195][195][195][194] [172][195][187][172][195][187][195][195][195][194][195][187][194] [194][194] [194][172][195][187] [195][195][195][195][195]
3004 [153]"list *lenlenrndlenlenlenpeek *lenrnd*lenrndlenlenlenpeeklenrndpeek peekpeek peek*lenrnd lenlenlenlenlen
3005 print"[158] [172][195][195][187][195][195][195][194] [172][195][187][172][195][187][195][195][195][194][195][187][194] [194][194] [194][172][195][187] [195][195][195][195][195]
3007 [153]" peek peekpeek peek peek peekpeek peek peek peekpeek peekpeek(NULL)waitpeekpeek peek peek
3010 print" [194][195][190][194][195] [194] [194][195][194][194][195][195][194][195] [194][195][190][194] [194][194][223][194][194][195][195] [194] [194]
3012 [153]" peek peekpeek peek peek peekpeek peekpeek peek(NULL)(NULL)waitpeek peekpeek peekpeek peek peek peek
3015 print" [188][195][195][190][195][195][195][188][195][195][194] [194][188][195][190][195][195][195][194] [194][188][195][190][194] [194][188][195][190] [195][195][195][195][195]
3020 [153]"list loglenlencoslenlenlenloglenlenpeek peekloglencoslenlenlenpeek peekloglencospeek peekloglencos lenlenlenlenlen
3025 print"[152] [188][195][195][190][195][195][195][188][195][195][194] [194][188][195][190][195][195][195][194] [194][188][195][190][194] [194][188][195][190] [195][195][195][195][195]
3027 [153]"poke loglenlencoslenlenlenloglenlenpeek peekloglencoslenlenlenpeek peekloglencospeek peekloglencos lenlenlenlenlen
3030 printtab(5)"written 1987 by frank abbing!
3031 [153][163]16)"defpress f1"
3032 [153]"on@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
3035 [153]"on@@@@atn(NULL)@@@or^@@@(NULL)(NULL)@@@(NULL)right$@@@or^@@@(NULL)right$@@@atn(NULL)@@@@"
3037 [153]"on@@@@(NULL)(NULL)@@@/exp@@@(NULL)sqr@@@mid$(NULL)@@@/exp@@@mid$(NULL)@@@(NULL)(NULL)@@@@"
3040 [129]t[178]0[164]39:[151]53184[170]t,0:[130]
3045 [151]53265,27
3050 [161]a$:[139]a$[179][177]"input"[167]3050
3055 [151]56334,0:[151]788,49:[151]789,234:[151]56334,1
3060 [151]677,0:[141]6000
3065 [129]t[178]1[164]9:[158]59777
3070 [141]6040:[130]t
3075 [129]t[178]1[164]12:[158]59626
3080 [141]6040:[130]t
3083 n$(1)[178]"":n$(2)[178]"":[158]59777:[151]677,0:[141]6040
3084 [151]214,14:[158]58640:[153]"newnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnewnew
3085 poke214,15:sys58640:print" geben sie jetzt ihren namen an... "
3086 poke214,16:sys58640:print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]
3087 [151]214,18:[158]58640:[133]"sys spieler 1 (reiter) ";n$(1)
3088 [139]n$(1)[178]""[176]n$(1)[178][199](13)[167]3087
3090 [151]214,20:[158]58640:[133]"sys spieler 2 (ritter) ";n$(2)
3092 [139]n$(2)[178]""[176]n$(2)[178][199](13)[167]3090
3095 n$(1)[178][200](n$(1),6)
3097 n$(2)[178][200](n$(2),6)
3100 [151]677,14
3105 [129]t[178]1[164]14:[158]59777:[141]6040:[130]t:[151]677,0
3110 [129]t[178]1[164]14:[158]59626:[141]6040:[130]t:[129]e[178]1[164]1000:[130]
3200 [151]53265,0:[137]225
5000 [151]53248[170]21,0:[129]t[178]1[164]2000:[130]:[158]35000
5005 [129]t[178]0[164]255:[151]53281,t:[130]:[151]53281,0
5010 [153]"loadsys"
5015 [153]" die belagerung der burg ist beendet!cont"
5020 [139]gw[178]1[167]5050
5025 [139]gw[178]2[167]5100
5030 [139]gw[178]3[167]5150
5050 [153]" die reiter haben die verteidiger
5055 print" geschlagen, und die burg eingenommen!
5060 [153]" ueberlebende reiter :"ms(1)
5065 [137]5200
5100 [153]" die ritter haben ihre burg tapfer
5105 print" verteidigt, und die gegnerischen
5110 [153]" reiterscharen besiegt.
5115 print" ueberlebende ritter :"ms(2)
5120 goto5200
5150 print" in einer tollkuehnen schlacht
5155 [153]" ist es den reitern gelungen, den
5160 print" anfuehrer der ritter zu besiegen!
5165 [153]" ueberlebende reiter :"ms(1)
5170 [137]5200
5200 [153]" noch ein spiel (j/n) ?
5205 geta$
5210 ifa$="j"thengosub7000:run
5215 ifa$="n"thenfort=1to24:sys59626:next:gosub7010:poke648,4:poke808,213:end
5220 goto5205
6000 fort=0to24:poke54272+t,0:next
6005 si=54272:fl=si:fh=si+1:tl=si+2:th=si+3:w0=si+4:a0=si+5:h0=si+6:l0=si+24
6007 lf=si+7:hf=si+8:lt=si+9:ht=si+10:w1=si+11:a1=si+12:h1=si+13
6010 pokew0,0:pokea0,13:poketl,255:poketh,7
6012 pokew1,0:pokea1,13:pokelt,255:pokeht,3:pokel0,15:return
6019 rem - drache -
6020 pokefh,3:pokew0,65
6025 pokehf,2:pokew1,65
6027 forc=255to30step-1:pokefl,t/10:pokelf,255-(t/10):next
6030 pokew0,0:pokew1,0:return
6040 pokew0,65:pokea0,8:pokefh,80:forc=1to25:next:pokea0,13:pokew0,0:return
6050 poketh,3:pokew1,65:pokehf,26:pokelf,20
6055 pokefh,34:pokefl,207:form=1to3:pokew0,0:pokew0,65:forc=1to75:nextc,m
6056 pokehf,34:pokelf,207
6057 pokefh,46:pokefl,118:pokew0,0:pokew0,65:forc=1to750:nextc:pokew0,0
6060 pokew1,0:poketh,7:return
6100 poketh,3:pokew1,65:pokehf,8:pokelf,180:pokea0,8
6105 pokefh,5:pokefl,123:form=1to8:pokew0,0:pokew0,65:forc=1to100:nextc,m
6107 pokew1,0:pokew1,65:pokehf,2:pokelf,190
6110 pokefh,4:pokefl,90:pokea0,13:pokew0,0:pokew0,65:form=1to1000:next
6120 pokew0,0:pokew1,0:return
7000 poke56334,0:poke788,49:poke789,234:poke56334,1:return
7010 pokew0,65:pokew1,65
7020 forg=1to100
7025 s=int(rnd(1)*10)+50
7027 pokefh,s:pokehf,s+1
7030 forb=1to15:nextb,g
7032 forf=sto0step-.2
7033 pokefh,f:pokehf,f+1:nextf
7035 pokew0,0:pokew1,0
7040 return